Automap & Autolink : Tools for Communicating Complex and Dynamic Data-structures Using Mpi Automap : Generating New Mpi Types out of Data Structures 1 Data-types 1.2 Dynamic Data-type

نویسندگان

  • Jasper Peeters
  • Judith Ellen Devaney
چکیده

More and more applications, business or scientiic, require intensive and complex processing of data along with computing power. Yet the development of real distributed applications has been hindered so far by programming diiculties. The Message Passing Interface standard (MPI) for message passing programs makes development easier through its portability and its high level language facilities (in C and Fortran). However, the MPI Standard functions support complex data types only indirectly. Users may create new MPI data-types out of basic data data-types for use with MPI functions but the process is tedious. Hence our idea to create high level tools that would enable the user to automatically create MPI data-types from user-deened C structures, and which enable the user to send and receive complex and dynamic data structures easily. Our tools consist of a program called AutoMap and a library called AutoLink. AutoMap parses a le of user-deened data-structures and generates new MPI types out of basic and previously deened MPI data-types. It also creates speciic routines for use by the AutoLink library. AutoLink is a library that allows transfer of complex, dynamically linked, and possibly heterogeneous structures through MPI. Outline The remainder of the paper is organized as follows. In the rst part we present AutoMap, and explain complex and dynamic data-types. We show how to create an MPI data-type from a user type, acknowledging that AutoMap does it automatically , as shown. Then, as we know what a dynamic data-structure is, we will see how AutoLink handles it to send such data. Finally, we will discuss performance, and then applications. The MPI library MPI94, MPI97] can only transfer types that it knows about. The C implementation of MPI knows about the basic types in C. Complex data-types (i.e. struct) can only be sent and received if they are described to the MPI library. AutoMap performs this service for the programmer. 1.1 Complex data-type In the C language, there are basic data-types such as int, char, long, double (.. .), for which an MPI type exists, like MPI_INT, MPI_CHAR, MPI_LONG, MPI_DOUBLE (.. .). But the user may want to be able to use a composition of such data-types. In C, such a composition may be created using the struct operand. A complex data-type is such a user-deened structure, as long as the user doesn't use pointers to other structures or components inside the structure. So, an example of a complex …

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

AutoMap and AutoLink: Tools for Communicating Complex and Dynamic Data-Structures Using MPI

This article describes two software tools, AutoMap and Au-toLink, that facilitate the use of data-structures in MPI. AutoMap is a program that parses a le of user-deened data-structures and generates new MPI types out of basic and previously deened MPI data-types. Our software tool automatically handles specialized error checking related to memory mapping. AutoLink is an MPI library that allows...

متن کامل

A generalized approach for transferring data-types with arbitrary communication libraries

We present a generalized algorithm for implementing a communications library for dynamic data structures created with heterogeneous composed data types such as multiple C structs, and where the data-types may be nested and may contain pointers. This algorithm is divided into an absolute part that is the same for all instantiations, and a relative part that is specific to the communications mech...

متن کامل

Managing Data-types : the Corba Approach and Automap/autolink, an Mpi Solution

| There are many ways to create a distributed system, such as with Parallel Virtual Machine (PVM), PAR-MACS, p4, Message Passing Interface (MPI) and the Common Object Request Broker Architecture (CORBA). This article concentrates on MPI, CORBA and the interface for information (data-type) transfer. We discuss the transfer of complex data-types, that are compositions of basic predeened data-type...

متن کامل

Fine Packet Size Tuning with AutoLink

Using MPI to work with composed data-types, or datatypes using pointers, is not a built-in operation. AutoMap and AutoLink are two tools that provide those functionalities to the MPI library, as a source-to-source compiler and as a subset of functions on top of MPI. AutoLink uses buffering by packets to transfer more than one node of the datastructure it is traversing, in a time/communication e...

متن کامل

Parleda: a Library for Parallel Processing in Computational Geometry Applications

ParLeda is a software library that provides the basic primitives needed for parallel implementation of computational geometry applications. It can also be used in implementing a parallel application that uses geometric data structures. The parallel model that we use is based on a new heterogeneous parallel model named HBSP, which is based on BSP and is introduced here. ParLeda uses two main lib...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997